//---------------------------------------------------------------------------
// The confidential and proprietary information contained in this file may
// only be used by a person authorised under and to the extent permitted
// by a subsisting licensing agreement from ARM Limited.
//
//            (C) COPYRIGHT 2008-2012 ARM Limited.
//                ALL RIGHTS RESERVED
//
// This entire notice must be reproduced on all copies of this file
// and copies of this file may only be made by a person if such person is
// permitted to do so under the terms of a subsisting license agreement
// from ARM Limited.
//
// Filename            : $RCSfile: AxiFrbmMacro.cpp,v $
//
// Checked In          :  2013-05-08 18:20:26 +0100 (Wed, 08 May 2013)
//
// Revision            : 149902
//
// Release Information : PL401-r0p1-00eac0
//
//---------------------------------------------------------------------------
//
// Purpose: ASIB model
//
//---------------------------------------------------------------------------

//-------------------------------------------------------------------------
// Include
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Definitions
//-------------------------------------------------------------------------


#include "../include/Model.h"

string Model_default_slave::Run(deque<transaction> * input, deque<transaction> * output, transaction * orginal_trans) {

        //Local transaction
        transaction trans;
        string slave_port;

        //Store the input queue
        stored_trans = *input;

        //clear the input transaction
        input->clear();

        return "";
}

//-------------------------------------------------------------------------
// Return function
//-------------------------------------------------------------------------
void Model_default_slave::Return(deque<transaction> * input, deque<transaction> * output) {

    for (int trans = 0; trans <  stored_trans.size(); trans++) {
          clear_transaction(&stored_trans[trans], frbm_namespace::axi_decerr);  
    };

    //Move transactions to output queue
    *output = stored_trans;
    input->clear();

}

